// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.receivable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * Receivable 列表项类
 */
@Getter
@Setter
@Schema(title = "应收单 列表项")
public class ReceivableItemVo implements Serializable {

  /**
   * 编号
   */
  @Schema(title = "编号")
  private Long id;

  /**
   * 单据编号
   */
  @Schema(title = "单据编号")
  private String payCode;

  /**
   * 单据类型
   */
  @Schema(title = "单据类型")
  private String type;

  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "创建时间")
  private java.util.Date createTime;

  /**
   * 创建人
   */
  @Schema(title = "创建人")
  private Long createUser;

  /**
   * 更新时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "更新时间")
  private java.util.Date lastUpdateTime;

  /**
   * 更新人
   */
  @Schema(title = "更新人")
  private Long lastUpdateUser;

  /**
   * 删除标记
   */
  @Schema(title = "删除标记")
  private Boolean delFlag;

  /**
   * 客户
   */
  @Schema(title = "客户")
  private Long customer;

  /**
   * 关联客户的供应商简称
   */
  @Schema(title = "关联客户的供应商简称")
  private String customerSupplierName;

  /**
   * 金额
   */
  @Schema(title = "金额")
  private String totalAmount;

  /**
   * 数量
   */
  @Schema(title = "数量")
  private String totalNum;

  /**
   * 币种
   */
  @Schema(title = "币种")
  private String currency;

  /**
   * 结算组织
   */
  @Schema(title = "结算组织")
  private Long closeOrg;

  /**
   * 关联结算组织的部门名称
   */
  @Schema(title = "关联结算组织的部门名称")
  private String closeOrgName;

  /**
   * 收款组织
   */
  @Schema(title = "收款组织")
  private Long receiptOrg;

  /**
   * 关联收款组织的部门名称
   */
  @Schema(title = "关联收款组织的部门名称")
  private String receiptOrgName;

  /**
   * 立账类型
   */
  @Schema(title = "立账类型")
  private String accountType;

  /**
   * 业务日期
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "业务日期")
  private java.util.Date businessDate;

  /**
   * 到期日
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "到期日")
  private java.util.Date dueDate;

  /**
   * 收款条件
   */
  @Schema(title = "收款条件")
  private String receiptTerms;

  /**
   * 订货方
   */
  @Schema(title = "订货方")
  private Long orderer;

  /**
   * 关联订货方的供应商简称
   */
  @Schema(title = "关联订货方的供应商简称")
  private String ordererSupplierName;

  /**
   * 收货方
   */
  @Schema(title = "收货方")
  private Long consignee;

  /**
   * 关联收货方的供应商简称
   */
  @Schema(title = "关联收货方的供应商简称")
  private String consigneeSupplierName;

  /**
   * 付款方
   */
  @Schema(title = "付款方")
  private Long payer;

  /**
   * 关联付款方的供应商简称
   */
  @Schema(title = "关联付款方的供应商简称")
  private String payerSupplierName;

  /**
   * 备注
   */
  @Schema(title = "备注")
  private String remark;

  /**
   * 产品类型
   */
  @Schema(title = "产品类型")
  private String productType;

  /**
   * 状态
   */
  @Schema(title = "状态")
  private String status;

  /**
   * 推送状态
   */
  @Schema(title = "推送状态")
  private String pushStatus;

  /**
   * 推送信息
   */
  @Schema(title = "推送信息")
  private String resultInfo;

  /**
   * 制单人
   */
  @Schema(title = "制单人")
  private Long preparedBy;

  /**
   * 关联制单人的显示用户名
   */
  @Schema(title = "关联制单人的显示用户名")
  private String preparedByName;

  /**
   * 审核人
   */
  @Schema(title = "审核人")
  private Long verifier;

  /**
   * 关联审核人的显示用户名
   */
  @Schema(title = "关联审核人的显示用户名")
  private String verifierName;

  /**
   * 采购单号
   */
  @Schema(title = "采购单号")
  private String purchaseOrder;

  /**
   * 出库单号
   */
  @Schema(title = "出库单号")
  private String warehouseSn;

  /**
   * 工作流状态
   */
  @Schema(title = "工作流状态")
  private Integer wfStatus;
}
